#include<bits/stdc++.h>
using namespace std;
long long f(long long a,long long b,long long c,long long n);
long long df(long long a,long long b,long long c,long long n){
    cerr<<a<<' '<<b<<' '<<c<<' '<<n<<'\n';
    long long v = f(a,b,c,n);
    cerr<<v<<'\n';
    return v;
}
long long f(long long a,long long b,long long c,long long n){
    if(n <= 0){
        return 0;
    }
    if(a == 0){
        return (b/c)*n;
    }
    if((n * a + b)/c < 1){
        return 0;
    }
    if(max(a,b) >= c){
        return df(a%c,b%c,c,n) + (a/c)*(n + 1)*n/2 + (b/c)*n;
    }else{
        return n*((a*n + b)/c) - df(c,c - b - 1,a,(a * n + b)/c - 1) - ((c - b - 1)/a);
    }
}
int main(){
    int a,b;
    long long c;
    cin>>a>>b>>c;
    cout<<df(a,c%a,b,c/a) + c/a + 1<<'\n';
}